package com.javaee.demov2.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.javaee.demov2.persistent.entity.User;
import com.javaee.demov2.utils.bean.PageResult;
import com.javaee.demov2.web.dto.user.UserAddDto;
import com.javaee.demov2.web.dto.user.UserQueryDto;
import com.javaee.demov2.web.dto.user.UserUpdateDto;

public interface UserService extends IService<User> {
    /**
     * 添加用户
     */
    public void add(UserAddDto userAddDto);

    /**
     * 更新用户信息
     */
    public void update(UserUpdateDto updateDto);

    /**
     * 判断用户名是否存在
     * @param username
     * @return
     */
    public boolean isExistUsername(String username);

    /**
     * 判断手机号是否重复
      */
    public boolean isExistMobilePhone(String mobilePhone);

    /**
     * 判断email是否重复
     */
    public boolean isExistEmail(String email) ;

    /**
     * 复杂条件查询,包含分页信息
     * @param userQueryDto
     * @return
     */
    PageResult<User> query(UserQueryDto userQueryDto);


    /**
     * 根据用户名查询用户
     * @param username
     * @return
     */
    public  User findByUsername(String username);


}
